Skip to main content

1. 기본 스크린 워터마킹

1.1 기능 구성

1.1.1 스크린 워터 마킹

(SC_SCREENWRMK_HIDE_WHEN_RUNNING_PROCESS)

  • 정중앙 워터 마킹
  • Tile Mode
  • User Defined Mode
  • 표시될 Image 경로 셋팅 가능
  • Image Rotate 가능
  • 알파값 셋팅 가능
  • 표시 될 글자 Custom 가능
  • 폰트 지정 가능

1.1.2 다중 모니터 지원

1.1.3 DS 연동 지원

  • 보안 문서가 활성화 시 스크린 워터 마킹

1.1.4 Windows 텍스트 배율(DPI) 변경 모드 지원

  • Windows 텍스트 배율이 변경될 경우에도 스크린 워터마킹 배율은 기본(100%) 배율을 유지

1.2 관련 모듈 및 권고되는 패치 모듈 리스트

  1. 스크린 워터 마킹 모듈

    1. 모듈 정보 : SCScreenWRMK.dll

    2. 모듈 위치 :softcamp/sds/SCScreenWRMK.dll

  2. DS 연동 관련 모듈

    1. 모듈 정보 : SC_AddIn_SCScreenWrmk.dll

    2. 모듈 위치 :softcamp/sdk/scsa/SC_AddIn_SCScreenWrmk.dll(코드사인 필요

  3. 테스트 모듈

    1. 모듈 정보 : SCScreenWRMKLdr.exe
    2. 모듈 위치 : 테스트 모듈로 위치 상관 없음



2. 커스텀 정책

2.1 커스텀 정책 목록

정책명정책타입정책 설명
SC_SCREENWRMK_USEEDIT0 = 미사용, 1 = DS 사용, 01 = SWork 사용
사용시 SC_SCREENWRMK_EDIT 커스텀 정책 로드.
SC_SCREENWRMK_EDITEDIT스크린워터마킹 출력 정책 설정
상세 스크립트 설정 참고
SC_SCREENWRMK_ENABLE_ACLEDIT해당 정책에 설정한 권한이 있을 경우만 스크린워터마킹 발현
문자열 별 권한
- 편집, 출력, 마킹, 해제
예) 프린트마킹 권한이 있는 보안문서에 대하여서 스크린워터마킹 적용 시 0010 설정
SC_SCREENWRMK_REFRESH_TIMEEDIT금융권 (하나, 신한등) 성능이 좋지 않은 환경 (특히 VDI) 에서 스크린 마킹으로 PC 느려지는 현상 보고됨
느려질 때, 스크린 마킹을 내렸다가 올리면 다시 빨라진다고 함
커스텀 정책으로 주기적으로 REFRESH 할 수 있도록 기능 추가
시간단위로 입력 (최대 입력가능시간 : 999시간)
예 ) 3시간마다 Refresh = 3

3. 선별적 스크린 워터마킹(APP)

3.1 기능 설명

기존 스크린 워터마킹은 보안이 필요한 프로세스 실행 시, 화면 전체에 스크린 워터마킹을 보여주는 방식이었으나, 선별적 스크린 워터마킹(APP)은 각각의 보안문서APP 위에 스크린 워터마킹을 보여준다.

3.2 기능 적용방법

    1. 관련 모듈 패치 (5.3 관련모듈 메뉴 참조)
    2. 커스텀 정책 설정 (SC_SCREENWRMK_SELECTIVE)
    3. 재부팅

3.3 관련모듈

파일명버전모듈위치
SCScreenWRMK.dll1, 0, 0, 21softcamp/sds/SCScreenWRMK.dll
SC_AddIn_SCScreenWrmk.dll1, 0, 0, 27softcamp/sdk/scsa/SC_AddIn_SCScreenWrmk.dll(코드사인 필요)
SDSMan.exe2, 0, 4, 159softcamp/sds/SDSMan.exe
SCRA_SelectiveSCRWrmkSlideShow.dll1, 0, 0, 2softcamp/sdk/SCRA_SelectiveSCRWrmkSlideShow.dll
MSO10EHP.dll4, 0, 0, 149softcamp/sds/MSO10EHP.dll
MSO10EHP64.dll4, 0, 0, 149softcamp/sds/x64/MSO10EHP.dll
MSO13EHP.dll1, 0, 0, 87softcamp/sds/MSO13EHP.dll
MSO13EHP64.dll1, 0, 0, 87softcamp/sds/x64/MSO13EHP.dll
MSO07EHP.dll3, 6, 2, 147softcamp/sds/MSO07EHP.dll
DSCOH10S.dll4, 0, 1, 46softcamp/sds/DSCOH10S.dll
DSCOH14S.dll1, 0, 0, 43softcamp/sds/ DSCOH14S.dll

3.4 제약사항

  1. 타이머로 동작하기 때문에, ScreenWrmk Load, Show, Hide, Move, Destroy 시 약간의 딜레이가 존재합니다.

  2. App내에서 좌표를 이동시키기 때문에, 스크린 마킹 사용자 지정 모드 사용 시, 아래와 같이 치우침 현상이 있을 수 있습니다.

    [그림 5.5.2] 사용자 지정 위치(가로 200, 세로300)의 경우


  1. 스크린 마킹이 특정 어플리케이션(카카오톡)에서 진해 지는 현상

    해당 어플리케이션에서 UI를 그릴 때 스크린마킹이 반복적으로 출력되며 발생되는 현상으로 스크린 마킹은 Windows Api를 가지고 농도를 조절 합니다.

    특정 어플리케이션에서 진해 지는 현상은 해당 어플리케이션에서 동작되는 현상으로 예외 처리 및 농도 조절이 불가능 합니다.

    imageimageimage
    카카오톡에서 Talk 부분을 클릭 하면 카카오톡 부분만 진해 짐.카카오톡 Talk 부분 클릭 후Windows 프로그램에서도 발생

  1. Windows Aero 테마를 활성화 하게 되면 , DWM(데스크 톱 창 관리자)가 활성화 되는 현상

    DWM(데스크 톱 창 관리자)이 실행되면 응용 프로그램들은 직접 비디오 메모리(VRAM)에 정보를 그리지 않고, 초당 엄청난 횟수로 시스템 메모리의 오프스크린 버퍼에 그리면서 최종화면을 표시합니다. 때문에 도형 드래그 시, GDI 랜더링 창 크기만큼 시스템 메모리에 표면이 할당되고, 해당 영역에 위치한 다른 이미지를 여러 번 그리면서 진해 보이는 현상 발생합니다.

    Aero 테마를 비활성화 시키면 정상동작 하며, 위 카카오 장애도 정상동작 합니다. TEXT 영역만 진해지며, PPT WORD 역시 동일합니다. Windows 위젯도 투명하게 설정 후, 드래그 시 진해지는 현상이 발생됩니다. !image


  1. 스크린 마킹 에어로 피크(Aero Peek) 사용 제어

    스크린 마킹의 동작 시점을 DS로그인 또는 보안문서 열람 시 동작하게 설정하면 Windows에서 제공하는 에어로 피크 기능 사용 시 스크린마킹이 최상위 화면에 인식 할 수 없어 스크린마킹이 나타나지 않는 현상이 발생됩니다.

    때문에 스크린 마킹에서 Windows의 에어로 피크 기능 사용을 제한 합니다.

    ※ 에어로 피크(Aero Peek) -작업 표시줄 아이콘 위로 해당 프로그램의 창 미리보기(축소판)를 보여준다.


  1. 스크린 마킹 적용 시 특정 App 깜빡임 발생

    [TFS 117746 VMS 실행 후 깜빡거림 현상 발생] 장애 현상과 같이 특정 프로세스에 실행 시 화면 깜빡임 발생 가능성 존재합니다.

    해당 케이스의 경우 특정 프로세스 실행 시 스크린마킹 Off와 같은 기능 개발하여 우회 할 수 있도록 가이드 필요합니다. (현재까지 이와 같은 깜빡임 발생되는 케이스가 없었으며, 해당 장애 발생자는 지도앱을 사용 중임)


  1. 스크린 마킹 적용 시 특정 프로세스의 UI가 표시 안됨

    스크린 마킹은 최상위 Window에서 동작 함. 특정 프로세스에서 최상위 Window에서 하는 작업 내용이 안 보일 수 있음

    특정 프로세스의 경우 스크린 마킹을 Diable 하도록 추가 개발 됨(SC_SCREENWRMK_HIDE_WHEN_RUNNING_PROCESS)


  1. 관리자 권한이 없는 환경에서 SC_SCREENWRMK_HLDR 정책과 선별적 스크린마킹을 같이 사용하면, 특정 APP에서 드래그가 안될 수 있음.

    관리자 권한으로 마킹 생성 CreateDialogParam API를 호출할때, 파라미터로 유저권한 APP의 핸들이 부모로 지정되어 호출되는 경우, 일부 앱에서 드래그가 안되는 현상이 발생하며 정확한 원인파악 불가능, UAC 관련 권한 문제로 추측됨.


3.5 기타

  • 기존 스크린 워터마킹 동작방식의 변경

  • 기존 스크린 워터마킹 방식은 보안문서 정보를 SDSMan.exe와 SendMessage통신으로 데이터를 주고 받습니다. 위 SendMessage 통신을 사용할 경우 주고 받을 수 있는 데이터의 크기에 제약이 존재하여 보안문서 정보를 20개 밖에 체크하지 못합니다. 보안 문서를 20개 를 초과하여 띄우지 않으면 기존 동작 방식에 문제가 없으나, 20개를 초과하여 띄울 경우 21번째 이 후 문서에 대하여 Screenwrmk Show, Hide를 위한 조건 검사를 하지 않습니다.

    발생할 수 있는 문제를 요약하자면, 20개의 문서를 모두 최소화 시켜 놓고, 21번째 보안문서를 열었을 때, ScreenWrmk를 Show 하지 않으며 앞서 열었던 20번째 까지의 문서를 최대화 시키면 Show 시킵니다.

  • 위 문제를 보완하고자, 보안 문서 정보를 SendMessage통신이 아닌 공유메모리에서 읽어오는 방식으로 변경하여 보안문서 정보를 100개까지 읽어와 조건검사합니다. 아래 관련모듈 버전 이 후 일 경우 기존 스크린 워터마킹은 변경방식(보안문서Max 100개)으로 동작하며, 하위 버전일 경우 기존방식(보안문서Max 20개)대로 합니다

파일명버전
SC_AddIn_SCScreenWrmk.dll1, 0, 0, 25
SDSMan.exe2, 0, 4, 148